package org.jeecg.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: subject_legal
 * @Author: jeecg-boot
 * @Date:   2024-09-20
 * @Version: V1.0
 */
@Data
@TableName("subject_legal")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="subject_legal对象", description="subject_legal")
public class SubjectLegal implements Serializable {
    private static final long serialVersionUID = 1L;

	/**subjectId*/
	@Excel(name = "subjectId", width = 15)
    @ApiModelProperty(value = "主键自增")
    @TableId(type = IdType.ASSIGN_ID)
    private String subjectId;
	/**主体类别 1 法人 2 自然人*/
	@Excel(name = "主体类别 1 法人 2 自然人", width = 15)
    @ApiModelProperty(value = "主体类别 1 法人 2 自然人")
    private Integer subjectType;
	/**法人代码*/
	@Excel(name = "法人代码", width = 15)
    @ApiModelProperty(value = "法人代码")
    private String legalCode;
	/**是否三证合一 0 否 1 是*/
	@Excel(name = "是否三证合一 0 否 1 是", width = 15)
    @ApiModelProperty(value = "是否三证合一 0 否 1 是")
    private Integer isIntegration;
	/**法人名称*/
	@Excel(name = "法人名称", width = 15)
    @ApiModelProperty(value = "法人名称")
    private String legalName;
	/**法定代表人姓名*/
	@Excel(name = "法定代表人姓名", width = 15)
    @ApiModelProperty(value = "法定代表人姓名")
    private String legalRepresent;
	/**法人类别*/
	@Excel(name = "法人类别", width = 15)
    @ApiModelProperty(value = "法人类别")
    private String bidderCodeType;

    @TableField(exist = false)
    private String adminPassword;

    @TableField(exist = false)
    private String token;

	/**法人简称*/
	@Excel(name = "法人简称", width = 15)
    @ApiModelProperty(value = "法人简称")
    private String legalNameJc;
	/**法人角色*/
	@Excel(name = "法人角色", width = 15)
    @ApiModelProperty(value = "法人角色")
    private String legalRole;
	/**国税税务登记证证号*/
	@Excel(name = "国税税务登记证证号", width = 15)
    @ApiModelProperty(value = "国税税务登记证证号")
    private String taxCertNo;
	/**国税税务登记证失效日期*/
	@Excel(name = "国税税务登记证失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "国税税务登记证失效日期")
    private Date taxCertEndDate;
	/**地税税务登记证证号*/
	@Excel(name = "地税税务登记证证号", width = 15)
    @ApiModelProperty(value = "地税税务登记证证号")
    private String localTaxCertNo;
	/**地税税务登记证失效日期*/
	@Excel(name = "地税税务登记证失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "地税税务登记证失效日期")
    private Date localTaxCertEndDate;
	/**组织机构代码*/
	@Excel(name = "组织机构代码", width = 15)
    @ApiModelProperty(value = "组织机构代码")
    private String organNo;
	/**组织机构代码证失效日期*/
	@Excel(name = "组织机构代码证失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "组织机构代码证失效日期")
    private Date organCertEndDate;
	/**法人机构类别*/
	@Excel(name = "法人机构类别", width = 15)
    @ApiModelProperty(value = "法人机构类别")
    private String legalType;
	/**法人机构性质*/
	@Excel(name = "法人机构性质", width = 15)
    @ApiModelProperty(value = "法人机构性质")
    private String legalNature;
	/**是否外资参股*/
	@Excel(name = "是否外资参股", width = 15)
    @ApiModelProperty(value = "是否外资参股")
    private String isForeign;
	/**是否上市*/
	@Excel(name = "是否上市", width = 15)
    @ApiModelProperty(value = "是否上市")
    private String isStock;
	/**上市地点*/
	@Excel(name = "上市地点", width = 15)
    @ApiModelProperty(value = "上市地点")
    private String stockAddress;
	/**上市日期*/
	@Excel(name = "上市日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "上市日期")
    private Date stockDate;
	/**股票交易代码*/
	@Excel(name = "股票交易代码", width = 15)
    @ApiModelProperty(value = "股票交易代码")
    private String stockCode;
	/**国别/地区*/
	@Excel(name = "国别/地区", width = 15)
    @ApiModelProperty(value = "国别/地区")
    private String countryRegion;
	/**行政区域代码*/
	@Excel(name = "行政区域代码", width = 15)
    @ApiModelProperty(value = "行政区域代码")
    private String regionCode;
	/**注册地址*/
	@Excel(name = "注册地址", width = 15)
    @ApiModelProperty(value = "注册地址")
    private String legalUnitAddress;
	/**企业办公通讯地址*/
	@Excel(name = "企业办公通讯地址", width = 15)
    @ApiModelProperty(value = "企业办公通讯地址")
    private String legalAddress;
	/**注册地-省*/
	@Excel(name = "注册地-省", width = 15)
    @ApiModelProperty(value = "注册地-省")
    private String registerProvince;
	/**注册地-市*/
	@Excel(name = "注册地-市", width = 15)
    @ApiModelProperty(value = "注册地-市")
    private String registerCity;
	/**法人代表联系电话*/
	@Excel(name = "法人代表联系电话", width = 15)
    @ApiModelProperty(value = "法人代表联系电话")
    private String representPhone;
	/**邮政编码*/
	@Excel(name = "邮政编码", width = 15)
    @ApiModelProperty(value = "邮政编码")
    private String legalZipCode;
	/**电子邮箱*/
	@Excel(name = "电子邮箱", width = 15)
    @ApiModelProperty(value = "电子邮箱")
    private String legalEmail;
	/**单位网站*/
	@Excel(name = "单位网站", width = 15)
    @ApiModelProperty(value = "单位网站")
    private String legalWeb;
	/**资信等级*/
	@Excel(name = "资信等级", width = 15)
    @ApiModelProperty(value = "资信等级")
    private String creditRate;
	/**法人机构所属行业*/
	@Excel(name = "法人机构所属行业", width = 15)
    @ApiModelProperty(value = "法人机构所属行业")
    private String legalIndustry;
	/**经营品目*/
	@Excel(name = "经营品目", width = 15)
    @ApiModelProperty(value = "经营品目")
    private String legalJingying;
	/**是否能开增值税发票*/
	@Excel(name = "是否能开增值税发票", width = 15)
    @ApiModelProperty(value = "是否能开增值税发票")
    private String isPiao;
	/**企业上年营业额*/
	@Excel(name = "企业上年营业额", width = 15)
    @ApiModelProperty(value = "企业上年营业额")
    private BigDecimal lastYearTurnover;
	/**成立日期*/
	@Excel(name = "成立日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "成立日期")
    private Date legalRegistDate;
	/**雇员人数*/
	@Excel(name = "雇员人数", width = 15)
    @ApiModelProperty(value = "雇员人数")
    private String legalEmployees;
	/**经营范围*/
	@Excel(name = "经营范围", width = 15)
    @ApiModelProperty(value = "经营范围")
    private String businessScope;
	/**经营及业务优势介绍*/
	@Excel(name = "经营及业务优势介绍", width = 15)
    @ApiModelProperty(value = "经营及业务优势介绍")
    private String businessAdvantages;
	/**与本单位合作项目*/
	@Excel(name = "与本单位合作项目", width = 15)
    @ApiModelProperty(value = "与本单位合作项目")
    private String ourProjects;
	/**其他重要项目及客户介绍*/
	@Excel(name = "其他重要项目及客户介绍", width = 15)
    @ApiModelProperty(value = "其他重要项目及客户介绍")
    private String otherProjects;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String legalRemark;
	/**营业执照号码*/
	@Excel(name = "营业执照号码", width = 15)
    @ApiModelProperty(value = "营业执照号码")
    private String licenseNo;
	/**营业执照失效日期*/
	@Excel(name = "营业执照失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照失效日期")
    private Date licenseEndDate;
	/**统一社会信用代码证图片*/
	@Excel(name = "统一社会信用代码证图片", width = 15)
    @ApiModelProperty(value = "统一社会信用代码证图片")
    private String licensePath;
	/**营业执照开始日期*/
	@Excel(name = "营业执照开始日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "营业执照开始日期")
    private Date licenseStartDate;
	/**社保登记号码*/
	@Excel(name = "社保登记号码", width = 15)
    @ApiModelProperty(value = "社保登记号码")
    private String socialSecurityNo;
	/**社保登记图片*/
	@Excel(name = "社保登记图片", width = 15)
    @ApiModelProperty(value = "社保登记图片")
    private String socialSecurityPath;
	/**社保登记开始日期*/
	@Excel(name = "社保登记开始日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "社保登记开始日期")
    private Date socialSecurityStart;
	/**社保登记失效日期*/
	@Excel(name = "社保登记失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "社保登记失效日期")
    private Date socialSecurityEnd;
	/**基本户开户银行*/
	@Excel(name = "基本户开户银行", width = 15)
    @ApiModelProperty(value = "基本户开户银行")
    private String basicBank;
	/**基本户开户支行号*/
	@Excel(name = "基本户开户支行号", width = 15)
    @ApiModelProperty(value = "基本户开户支行号")
    private String basicBranchBank;
	/**基本户账号*/
	@Excel(name = "基本户账号", width = 15)
    @ApiModelProperty(value = "基本户账号")
    private String basicAccountNo;
	/**基本户账户名称*/
	@Excel(name = "基本户账户名称", width = 15)
    @ApiModelProperty(value = "基本户账户名称")
    private String basicAccountName;
	/**是否有进出口权*/
	@Excel(name = "是否有进出口权", width = 15)
    @ApiModelProperty(value = "是否有进出口权")
    private String isImport;
	/**注册资本人民币*/
	@Excel(name = "注册资本人民币", width = 15)
    @ApiModelProperty(value = "注册资本人民币")
    private BigDecimal regRmb;
	/**注册资本*/
	@Excel(name = "注册资本", width = 15)
    @ApiModelProperty(value = "注册资本")
    private BigDecimal regCapital;
	/**注册资本币种*/
	@Excel(name = "注册资本币种", width = 15)
    @ApiModelProperty(value = "注册资本币种")
    private String regCapCurrency;
	/**注册资本单位*/
	@Excel(name = "注册资本单位", width = 15)
    @ApiModelProperty(value = "注册资本单位")
    private String regUnit;
	/**注册资本金银行缴款证明*/
	@Excel(name = "注册资本金银行缴款证明", width = 15)
    @ApiModelProperty(value = "注册资本金银行缴款证明")
    private String regCertificate;
	/**联系人*/
	@Excel(name = "联系人", width = 15)
    @ApiModelProperty(value = "联系人")
    private String legalContact;
	/**联系人电话*/
	@Excel(name = "联系人电话", width = 15)
    @ApiModelProperty(value = "联系人电话")
    private String legalContactPhone;
	/**联系人地址*/
	@Excel(name = "联系人地址", width = 15)
    @ApiModelProperty(value = "联系人地址")
    private String legalContactAddress;
	/**法人业务状态*/
	@Excel(name = "法人业务状态", width = 15)
    @ApiModelProperty(value = "法人业务状态")
    private String legalStatus;
	/**交易系统标识码*/
	@Excel(name = "交易系统标识码", width = 15)
    @ApiModelProperty(value = "交易系统标识码")
    private String platformCode;
	/**数据时间戳*/
	@Excel(name = "数据时间戳", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "数据时间戳")
    private Date dataTimestamp;
	/**是否CA绑定*/
	@Excel(name = "是否CA绑定", width = 15)
    @ApiModelProperty(value = "是否CA绑定")
    private Integer isCa;

    @Excel(name = "CAS硬件编码", width = 15)
    @ApiModelProperty(value = "CAS硬件编码")
    private String casCode;

	/**注册步骤  1 登陆信息  2 概况*/
	@Excel(name = "注册步骤  1 登陆信息  2 概况", width = 15)
    @ApiModelProperty(value = "注册步骤  1 登陆信息  2 概况 3 证照信息 4 资质及质量体系认证 5 业绩证明 6 获奖证书  7 项目经理/总监 8 联系人信息 9 银行账户 10 诚信承诺书等资料  " )
    private Integer registStep;

    /**注册步骤  1 登陆信息  2 概况*/
    @ApiModelProperty(value = "当前注册步骤   1 登陆信息  2 概况 3 证照信息 4 资质及质量体系认证 5 业绩证明 6 获奖证书  7 项目经理/总监 8 联系人信息 9 银行账户 10 诚信承诺书等资料   ")
    @TableField(exist = false)
    private Integer currentStep;

    @ApiModelProperty(value = "验证码")
    @TableField(exist = false)
    private String checkCode;

    @ApiModelProperty(value = "请求验证码key")
    @TableField(exist = false)
    private String checkKey;

    /**身份证件类型*/
	@Excel(name = "身份证件类型", width = 15)
    @ApiModelProperty(value = "身份证件类型")
    private String idCardType;
	/**主体代码（身份证件号）*/
	@Excel(name = "主体代码（身份证件号）", width = 15)
    @ApiModelProperty(value = "主体代码（身份证件号）")
    private String idCard;
	/**身份证件失效日期*/
	@Excel(name = "身份证件失效日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "身份证件失效日期")
    private Date idCardEndDate;
	/**姓名*/
	@Excel(name = "姓名", width = 15)
    @ApiModelProperty(value = "姓名")
    private String personName;
	/**联系电话*/
	@Excel(name = "联系电话", width = 15)
    @ApiModelProperty(value = "联系电话")
    private String contact;
	/**银行账户*/
	@Excel(name = "银行账户", width = 15)
    @ApiModelProperty(value = "银行账户")
    private String bankAccount;
	/**开户行*/
	@Excel(name = "开户行", width = 15)
    @ApiModelProperty(value = "开户行")
    private String bankName;
	/**邮编*/
	@Excel(name = "邮编", width = 15)
    @ApiModelProperty(value = "邮编")
    private String zipCode;
	/**地址*/
	@Excel(name = "地址", width = 15)
    @ApiModelProperty(value = "地址")
    private String address;
	/**管理员登陆账号*/
	@Excel(name = "管理员登陆账号", width = 15)
    @ApiModelProperty(value = "管理员登陆账号")
    private String adminLogin;
	/**管理员姓名*/
	@Excel(name = "管理员姓名", width = 15)
    @ApiModelProperty(value = "管理员姓名")
    private String adminUser;
	/**管理员性别*/
	@Excel(name = "管理员性别", width = 15)
    @ApiModelProperty(value = "管理员性别")
    private String adminSex;
	/**管理员手机*/
	@Excel(name = "管理员手机", width = 15)
    @ApiModelProperty(value = "管理员手机")
    private String adminPhone;
	/**管理员身份证号*/
	@Excel(name = "管理员身份证号", width = 15)
    @ApiModelProperty(value = "管理员身份证号")
    private String adminCard;
	/**管理员职务*/
	@Excel(name = "管理员职务", width = 15)
    @ApiModelProperty(value = "管理员职务")
    private String adminJob;
	/**管理员电话号码座机*/
	@Excel(name = "管理员电话号码座机", width = 15)
    @ApiModelProperty(value = "管理员电话号码座机")
    private String adminTel;
	/**管理员传真*/
	@Excel(name = "管理员传真", width = 15)
    @ApiModelProperty(value = "管理员传真")
    private String adminFax;
	/**管理员邮箱*/
	@Excel(name = "管理员邮箱", width = 15)
    @ApiModelProperty(value = "管理员邮箱")
    private String adminEmail;

    @ApiModelProperty(value = "sys_user表主键ID")
    private String sysUserId;

    @Excel(name = "会员等级", width = 15)
    @ApiModelProperty(value = "会员等级")
    private String memberLevel;

    @Excel(name = "会员状态", width = 15)
    @ApiModelProperty(value = "会员状态")
    private String memberState;

    @Excel(name = "会员起始时间", width = 15)
    @ApiModelProperty(value = "会员起始时间")
    private String memberTimeStart;

    @Excel(name = "会员有效期", width = 15)
    @ApiModelProperty(value = "会员有效期")
    private String memberTimeEnd;

    @Excel(name = "诚信承诺书图片", width = 15)
    @ApiModelProperty(value = "诚信承诺书图片")
    private String chengxinPath;

    @Excel(name = "其他需上传资料", width = 15)
    @ApiModelProperty(value = "其他需上传资料")
    private String otherPath;


}
